home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / comm / mail / YamNet.lha / rexxtra12.lha / rexx / Typical.rexx < prev    next >
OS/2 REXX Batch file  |  1990-03-18  |  1KB  |  58 lines

  1. /* Typical.rexx */
  2.  
  3. /*
  4. Typical ARexx program using Command Line Parsing
  5.           and help system
  6.  
  7. USAGE: TYPICAL [FROM] <file> [TO <dir>] [QUIET]
  8. */
  9.  
  10. signal on failure; signal off error; signal on syntax; signal on break_c
  11.  
  12. facility = 'Typical'
  13. retcode = 0
  14.  
  15. dtemplate = 'FROM/A,TO/K,QUIET/S: '
  16. template = 'QUIET/S,FROM/A,TO/K'
  17. args.=''
  18.  
  19. parse arg g_c
  20. do while g_c='?'
  21.   options prompt dtemplate': '  /* this template is      */
  22.   parse pull g_c        /* displayed to the user */
  23.   if g_c='?' then do
  24.     g_s=sourceline(3)
  25.     if pos('/*',g_s)=0 then break; if pos('*/',g_s)>0 then break
  26.     say
  27.     g_s=sourceline(4)
  28.     do i=5 while pos('*/',g_s)=0; say g_s; g_s=sourceline(i); end
  29.     say
  30.     end
  31.   end
  32. interpret Cparse(g_c,template,'args')
  33. if args.ERRCODE > 1 then do; say facility'-E-BADARGS,' args.ERRTEXT; exit 5; end
  34.  
  35. /*
  36.    Body of code
  37. */
  38.  
  39. GetOut:
  40. exit retcode
  41.  
  42. /* E N D */
  43.  
  44. /* Error labels follow */
  45.  
  46. break_c:
  47. break_d:
  48. break_e:
  49. break_f:
  50.   say facility'-E-BREAK, Control-C interrupt'; retcode = 20; signal GetOut
  51. failure:
  52.   say facility'-E-FAIL, Line:' sigl', Error:' rc; retcode = rc; signal GetOut
  53. syntax:
  54.   say facility'-E-SYNTAX, Line:' sigl', Error:' rc; retcode = rc; signal GetOut
  55. error:
  56.   say facility'-E-ERROR, Line:' sigl', Error:' rc; retcode = rc; signal GetOut
  57.  
  58.